package com.heaven.service;

import com.heaven.core.entity.CommentEntity;
import com.heaven.core.framework.PzService;
import com.heaven.customerServer.customerController.vo.comment.LoadCommentRes;
import com.heaven.customerServer.customerController.vo.comment.SendCommentReq;

import java.util.List;

public interface CommentService extends PzService<CommentEntity> {
    CommentEntity addComment(SendCommentReq req, String userId);

    /**
     * 加载评论
     * @param targetId 媒体对象ID（视频、文贴）
     * @param type 评论归属媒体的类型 video:1, article:2
     * @param page 页码
     * @param size 大小
     * @return 评论列表
     * * @param sort 排序方式 hot:热度降序, time:时间降序
     */
    List<LoadCommentRes> loadComment(String targetId, int type, int page, int size, String sort);

    LoadCommentRes.UserInfo getCommentUserInfo(String userId);

    void handleLikeOrDislike(String commentId, String userId, int type);
}
